[INFO] cloning repository https://github.com/rghisi/rosx
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/rghisi/rosx" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frghisi%2Frosx", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frghisi%2Frosx'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 9d8ae1ce3d289adf26678253ff67aaef0f32aa88
[INFO] testing rghisi/rosx against master#1f7f8ea0721a3b1eb73e6c6d25cccb371434b320 for pr-154065-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frghisi%2Frosx" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/rghisi/rosx
[INFO] finished tweaking git repo https://github.com/rghisi/rosx
[INFO] tweaked toml for git repo https://github.com/rghisi/rosx written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/rghisi/rosx on toolchain 1f7f8ea0721a3b1eb73e6c6d25cccb371434b320
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/rghisi/rosx already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded bootloader_api v0.11.15
[INFO] [stderr]   Downloaded volatile v0.2.7
[INFO] [stderr]   Downloaded x86_64 v0.15.2
[INFO] [stderr]   Downloaded volatile v0.4.6
[INFO] [stderr]   Downloaded pic8259 v0.11.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 59db2dd858c5bdaa42360490d445d186806bcb7d973485c0617d047a1115e04e
[INFO] running `Command { std: "docker" "start" "-a" "59db2dd858c5bdaa42360490d445d186806bcb7d973485c0617d047a1115e04e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "59db2dd858c5bdaa42360490d445d186806bcb7d973485c0617d047a1115e04e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "59db2dd858c5bdaa42360490d445d186806bcb7d973485c0617d047a1115e04e", kill_on_drop: false }`
[INFO] [stdout] 59db2dd858c5bdaa42360490d445d186806bcb7d973485c0617d047a1115e04e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 0a8e4c990b5550056d2b5dd6555523091c4defb8bdf5e88ea9f1d938c1e2cede
[INFO] running `Command { std: "docker" "start" "-a" "0a8e4c990b5550056d2b5dd6555523091c4defb8bdf5e88ea9f1d938c1e2cede", kill_on_drop: false }`
[INFO] [stderr]    Compiling collections v0.1.0 (/opt/rustwide/workdir/collections)
[INFO] [stderr]    Compiling spin v0.9.8
[INFO] [stderr]    Compiling scopeguard v1.2.0
[INFO] [stderr]    Compiling bit_field v0.10.3
[INFO] [stderr]    Compiling bitflags v2.9.4
[INFO] [stderr]    Compiling volatile v0.4.6
[INFO] [stderr]    Compiling bootloader_api v0.11.15
[INFO] [stderr]    Compiling rosx-x86 v0.1.0 (/opt/rustwide/workdir/arch/x86_32)
[INFO] [stderr]    Compiling volatile v0.2.7
[INFO] [stderr]    Compiling lock_api v0.4.13
[INFO] [stderr]    Compiling system v0.1.0 (/opt/rustwide/workdir/system)
[INFO] [stderr]    Compiling lazy_static v1.5.0
[INFO] [stderr]    Compiling usrlib v0.1.0 (/opt/rustwide/workdir/usrlib)
[INFO] [stderr]    Compiling kernel v0.1.0 (/opt/rustwide/workdir/kernel)
[INFO] [stderr]    Compiling x86_64 v0.15.2
[INFO] [stdout] warning: unused import: `alloc::string::String`
[INFO] [stdout]  --> usrlib/src/syscall.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use alloc::string::String;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling test_suite v0.1.0 (/opt/rustwide/workdir/apps/test_suite)
[INFO] [stderr]    Compiling dummy v0.1.0 (/opt/rustwide/workdir/apps/dummy)
[INFO] [stdout] warning: unused import: `Future`
[INFO] [stdout]  --> kernel/src/ipc/ipc_manager.rs:6:23
[INFO] [stdout]   |
[INFO] [stdout] 6 | use system::future::{ Future, FutureHandle };
[INFO] [stdout]   |                       ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `alloc::string::String`
[INFO] [stdout]  --> kernel/src/syscall.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use alloc::string::String;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]  --> apps/test_suite/src/app.rs:8:61
[INFO] [stdout]   |
[INFO] [stdout] 8 |     Syscall::wait_future(Syscall::exec(allocation_test::run as usize));
[INFO] [stdout]   |                                                             ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(function_casts_as_integer)]` on by default
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]   |
[INFO] [stdout] 8 |     Syscall::wait_future(Syscall::exec(allocation_test::run as *const () as usize));
[INFO] [stdout]   |                                                             ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]  --> apps/test_suite/src/app.rs:9:81
[INFO] [stdout]   |
[INFO] [stdout] 9 |     Syscall::wait_future(Syscall::exec(context_switching::worker_context_switch as usize));
[INFO] [stdout]   |                                                                                 ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]   |
[INFO] [stdout] 9 |     Syscall::wait_future(Syscall::exec(context_switching::worker_context_switch as *const () as usize));
[INFO] [stdout]   |                                                                                 ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]   --> apps/test_suite/src/app.rs:10:58
[INFO] [stdout]    |
[INFO] [stdout] 10 |     Syscall::wait_future(Syscall::exec(worker_mixed_load as usize));
[INFO] [stdout]    |                                                          ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]    |
[INFO] [stdout] 10 |     Syscall::wait_future(Syscall::exec(worker_mixed_load as *const () as usize));
[INFO] [stdout]    |                                                          ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]   --> apps/test_suite/src/app.rs:18:50
[INFO] [stdout]    |
[INFO] [stdout] 18 |     let mem = Syscall::exec(allocation_test::run as usize);
[INFO] [stdout]    |                                                  ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]    |
[INFO] [stdout] 18 |     let mem = Syscall::exec(allocation_test::run as *const () as usize);
[INFO] [stdout]    |                                                  ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]   --> apps/test_suite/src/app.rs:19:70
[INFO] [stdout]    |
[INFO] [stdout] 19 |     let ctx = Syscall::exec(context_switching::worker_context_switch as usize);
[INFO] [stdout]    |                                                                      ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]    |
[INFO] [stdout] 19 |     let ctx = Syscall::exec(context_switching::worker_context_switch as *const () as usize);
[INFO] [stdout]    |                                                                      ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling shell v0.1.0 (/opt/rustwide/workdir/apps/shell)
[INFO] [stdout] error: couldn't read `apps/shell/src/../../../apps/hello_elf/target/rosx-user/release/hello_elf`: No such file or directory (os error 2)
[INFO] [stdout]  --> apps/shell/src/shell.rs:9:24
[INFO] [stdout]   |
[INFO] [stdout] 9 | static PI_ELF: &[u8] = include_bytes!("../../../apps/hello_elf/target/rosx-user/release/hello_elf");
[INFO] [stdout]   |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read `apps/shell/src/../../../apps/snake/target/rosx-user/release/snake`: No such file or directory (os error 2)
[INFO] [stdout]   --> apps/shell/src/shell.rs:14:27
[INFO] [stdout]    |
[INFO] [stdout] 14 | static SNAKE_ELF: &[u8] = include_bytes!("../../../apps/snake/target/rosx-user/release/snake");
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read `apps/shell/src/../../../apps/tetris/target/rosx-user/release/tetris`: No such file or directory (os error 2)
[INFO] [stdout]   --> apps/shell/src/shell.rs:19:28
[INFO] [stdout]    |
[INFO] [stdout] 19 | static TETRIS_ELF: &[u8] = include_bytes!("../../../apps/tetris/target/rosx-user/release/tetris");
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read `apps/shell/src/../../../apps/conway/target/rosx-user/release/conway`: No such file or directory (os error 2)
[INFO] [stdout]   --> apps/shell/src/shell.rs:24:28
[INFO] [stdout]    |
[INFO] [stdout] 24 | static CONWAY_ELF: &[u8] = include_bytes!("../../../apps/conway/target/rosx-user/release/conway");
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `handle`
[INFO] [stdout]   --> kernel/src/ipc/ipc_server.rs:16:37
[INFO] [stdout]    |
[INFO] [stdout] 16 |    pub(crate) fn receive(&mut self, handle: &mut IpcServerHandle) -> Result<usize, ()> {
[INFO] [stdout]    |                                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_handle`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> apps/shell/src/shell.rs:138:33
[INFO] [stdout]     |
[INFO] [stdout] 138 |         println!("Find failed");;
[INFO] [stdout]     |                                 ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> apps/shell/src/shell.rs:133:13
[INFO] [stdout]     |
[INFO] [stdout] 133 |         for i in 1..100 {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]   --> kernel/src/memory/free_list_allocator.rs:76:30
[INFO] [stdout]    |
[INFO] [stdout] 76 |             let block_size = (*current).size;
[INFO] [stdout]    |                              ^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]    |
[INFO] [stdout]    = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]   --> kernel/src/memory/free_list_allocator.rs:62:5
[INFO] [stdout]    |
[INFO] [stdout] 62 |     pub unsafe fn allocate(&mut self, layout: Layout, owner: BlockOwner) -> Result<*mut u8, AllocError> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]    = note: `#[warn(unsafe_op_in_unsafe_fn)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]   --> kernel/src/memory/free_list_allocator.rs:83:21
[INFO] [stdout]    |
[INFO] [stdout] 83 |                     (*split).size = remaining;
[INFO] [stdout]    |                     ^^^^^^^^ dereference of raw pointer
[INFO] [stdout]    |
[INFO] [stdout]    = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]   --> kernel/src/memory/free_list_allocator.rs:84:21
[INFO] [stdout]    |
[INFO] [stdout] 84 |                     (*split).next = (*current).next;
[INFO] [stdout]    |                     ^^^^^^^^ dereference of raw pointer
[INFO] [stdout]    |
[INFO] [stdout]    = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]   --> kernel/src/memory/free_list_allocator.rs:84:37
[INFO] [stdout]    |
[INFO] [stdout] 84 |                     (*split).next = (*current).next;
[INFO] [stdout]    |                                     ^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]    |
[INFO] [stdout]    = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]   --> kernel/src/memory/free_list_allocator.rs:85:21
[INFO] [stdout]    |
[INFO] [stdout] 85 |                     *prev_next = split;
[INFO] [stdout]    |                     ^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]    |
[INFO] [stdout]    = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]   --> kernel/src/memory/free_list_allocator.rs:88:21
[INFO] [stdout]    |
[INFO] [stdout] 88 |                     *prev_next = (*current).next;
[INFO] [stdout]    |                     ^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]    |
[INFO] [stdout]    = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `shell` (lib) due to 4 previous errors; 2 warnings emitted
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]   --> kernel/src/memory/free_list_allocator.rs:88:34
[INFO] [stdout]    |
[INFO] [stdout] 88 |                     *prev_next = (*current).next;
[INFO] [stdout]    |                                  ^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]    |
[INFO] [stdout]    = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]   --> kernel/src/memory/free_list_allocator.rs:92:17
[INFO] [stdout]    |
[INFO] [stdout] 92 |                 (*header).size = used_size;
[INFO] [stdout]    |                 ^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]    |
[INFO] [stdout]    = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]   --> kernel/src/memory/free_list_allocator.rs:93:17
[INFO] [stdout]    |
[INFO] [stdout] 93 |                 (*header).owner = owner;
[INFO] [stdout]    |                 ^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]    |
[INFO] [stdout]    = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]   --> kernel/src/memory/free_list_allocator.rs:94:17
[INFO] [stdout]    |
[INFO] [stdout] 94 |                 (*header).next = self.alloc_head;
[INFO] [stdout]    |                 ^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]    |
[INFO] [stdout]    = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]   --> kernel/src/memory/free_list_allocator.rs:98:30
[INFO] [stdout]    |
[INFO] [stdout] 98 |             prev_next = &mut (*current).next;
[INFO] [stdout]    |                              ^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]    |
[INFO] [stdout]    = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]   --> kernel/src/memory/free_list_allocator.rs:99:23
[INFO] [stdout]    |
[INFO] [stdout] 99 |             current = (*current).next;
[INFO] [stdout]    |                       ^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]    |
[INFO] [stdout]    = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> kernel/src/memory/free_list_allocator.rs:107:26
[INFO] [stdout]     |
[INFO] [stdout] 107 |         let block_size = (*header).size;
[INFO] [stdout]     |                          ^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> kernel/src/memory/free_list_allocator.rs:104:5
[INFO] [stdout]     |
[INFO] [stdout] 104 |     pub unsafe fn deallocate(&mut self, ptr: *mut u8) {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> kernel/src/memory/free_list_allocator.rs:113:23
[INFO] [stdout]     |
[INFO] [stdout] 113 |             current = (*current).next;
[INFO] [stdout]     |                       ^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> kernel/src/memory/free_list_allocator.rs:116:31
[INFO] [stdout]     |
[INFO] [stdout] 116 |             self.alloc_head = (*header).next;
[INFO] [stdout]     |                               ^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> kernel/src/memory/free_list_allocator.rs:118:13
[INFO] [stdout]     |
[INFO] [stdout] 118 |             (*prev).next = (*header).next;
[INFO] [stdout]     |             ^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> kernel/src/memory/free_list_allocator.rs:118:28
[INFO] [stdout]     |
[INFO] [stdout] 118 |             (*prev).next = (*header).next;
[INFO] [stdout]     |                            ^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `memory::free_list_allocator::FreeListAllocator::insert_free_block` is unsafe and requires unsafe block
[INFO] [stdout]    --> kernel/src/memory/free_list_allocator.rs:121:9
[INFO] [stdout]     |
[INFO] [stdout] 121 |         self.insert_free_block(start, block_size);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> kernel/src/memory/free_list_allocator.rs:129:24
[INFO] [stdout]     |
[INFO] [stdout] 129 |             let next = (*current).next;
[INFO] [stdout]     |                        ^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> kernel/src/memory/free_list_allocator.rs:124:5
[INFO] [stdout]     |
[INFO] [stdout] 124 |     pub unsafe fn deallocate_by_owner(&mut self, task_id: usize) {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> kernel/src/memory/free_list_allocator.rs:130:16
[INFO] [stdout]     |
[INFO] [stdout] 130 |             if (*current).owner == target {
[INFO] [stdout]     |                ^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> kernel/src/memory/free_list_allocator.rs:131:17
[INFO] [stdout]     |
[INFO] [stdout] 131 |                 *prev_next = next;
[INFO] [stdout]     |                 ^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> kernel/src/memory/free_list_allocator.rs:133:34
[INFO] [stdout]     |
[INFO] [stdout] 133 |                 let block_size = (*current).size;
[INFO] [stdout]     |                                  ^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `memory::free_list_allocator::FreeListAllocator::insert_free_block` is unsafe and requires unsafe block
[INFO] [stdout]    --> kernel/src/memory/free_list_allocator.rs:134:17
[INFO] [stdout]     |
[INFO] [stdout] 134 |                 self.insert_free_block(start, block_size);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> kernel/src/memory/free_list_allocator.rs:136:34
[INFO] [stdout]     |
[INFO] [stdout] 136 |                 prev_next = &mut (*current).next;
[INFO] [stdout]     |                                  ^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> kernel/src/memory/free_list_allocator.rs:144:9
[INFO] [stdout]     |
[INFO] [stdout] 144 |         (*block).size = block_size;
[INFO] [stdout]     |         ^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> kernel/src/memory/free_list_allocator.rs:142:5
[INFO] [stdout]     |
[INFO] [stdout] 142 |     unsafe fn insert_free_block(&mut self, start: usize, block_size: usize) {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> kernel/src/memory/free_list_allocator.rs:150:23
[INFO] [stdout]     |
[INFO] [stdout] 150 |             current = (*current).next;
[INFO] [stdout]     |                       ^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> kernel/src/memory/free_list_allocator.rs:153:9
[INFO] [stdout]     |
[INFO] [stdout] 153 |         (*block).next = current;
[INFO] [stdout]     |         ^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> kernel/src/memory/free_list_allocator.rs:157:13
[INFO] [stdout]     |
[INFO] [stdout] 157 |             (*prev).next = block;
[INFO] [stdout]     |             ^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> kernel/src/memory/free_list_allocator.rs:160:13
[INFO] [stdout]     |
[INFO] [stdout] 160 |         if !(*block).next.is_null() {
[INFO] [stdout]     |             ^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> kernel/src/memory/free_list_allocator.rs:161:37
[INFO] [stdout]     |
[INFO] [stdout] 161 |             let block_end = start + (*block).size;
[INFO] [stdout]     |                                     ^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> kernel/src/memory/free_list_allocator.rs:162:24
[INFO] [stdout]     |
[INFO] [stdout] 162 |             let next = (*block).next;
[INFO] [stdout]     |                        ^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> kernel/src/memory/free_list_allocator.rs:164:17
[INFO] [stdout]     |
[INFO] [stdout] 164 |                 (*block).size += (*next).size;
[INFO] [stdout]     |                 ^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> kernel/src/memory/free_list_allocator.rs:164:34
[INFO] [stdout]     |
[INFO] [stdout] 164 |                 (*block).size += (*next).size;
[INFO] [stdout]     |                                  ^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> kernel/src/memory/free_list_allocator.rs:165:17
[INFO] [stdout]     |
[INFO] [stdout] 165 |                 (*block).next = (*next).next;
[INFO] [stdout]     |                 ^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> kernel/src/memory/free_list_allocator.rs:165:33
[INFO] [stdout]     |
[INFO] [stdout] 165 |                 (*block).next = (*next).next;
[INFO] [stdout]     |                                 ^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> kernel/src/memory/free_list_allocator.rs:170:44
[INFO] [stdout]     |
[INFO] [stdout] 170 |             let prev_end = prev as usize + (*prev).size;
[INFO] [stdout]     |                                            ^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> kernel/src/memory/free_list_allocator.rs:172:17
[INFO] [stdout]     |
[INFO] [stdout] 172 |                 (*prev).size += (*block).size;
[INFO] [stdout]     |                 ^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> kernel/src/memory/free_list_allocator.rs:172:33
[INFO] [stdout]     |
[INFO] [stdout] 172 |                 (*prev).size += (*block).size;
[INFO] [stdout]     |                                 ^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> kernel/src/memory/free_list_allocator.rs:173:17
[INFO] [stdout]     |
[INFO] [stdout] 173 |                 (*prev).next = (*block).next;
[INFO] [stdout]     |                 ^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> kernel/src/memory/free_list_allocator.rs:173:32
[INFO] [stdout]     |
[INFO] [stdout] 173 |                 (*prev).next = (*block).next;
[INFO] [stdout]     |                                ^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `BlockOwner` is more private than the item `FreeListAllocator::allocate`
[INFO] [stdout]   --> kernel/src/memory/free_list_allocator.rs:62:5
[INFO] [stdout]    |
[INFO] [stdout] 62 |     pub unsafe fn allocate(&mut self, layout: Layout, owner: BlockOwner) -> Result<*mut u8, AllocError> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `FreeListAllocator::allocate` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `BlockOwner` is only usable at visibility `pub(crate)`
[INFO] [stdout]   --> kernel/src/memory/free_list_allocator.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub(crate) enum BlockOwner {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `free_list_allocator::AllocError` is more private than the item `FreeListAllocator::allocate`
[INFO] [stdout]   --> kernel/src/memory/free_list_allocator.rs:62:5
[INFO] [stdout]    |
[INFO] [stdout] 62 |     pub unsafe fn allocate(&mut self, layout: Layout, owner: BlockOwner) -> Result<*mut u8, AllocError> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `FreeListAllocator::allocate` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `free_list_allocator::AllocError` is only usable at visibility `pub(crate)`
[INFO] [stdout]   --> kernel/src/memory/free_list_allocator.rs:28:1
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub(crate) enum AllocError {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `value` is never read
[INFO] [stdout]   --> kernel/src/ipc/ipc_manager.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub(crate) struct IpcReceiveMessage {
[INFO] [stdout]    |                   ----------------- field in this struct
[INFO] [stdout] 15 |     pub value: u32,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `destination` is never read
[INFO] [stdout]   --> kernel/src/ipc/ipc_manager.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub(crate) struct IpcReplyMessage {
[INFO] [stdout]    |                   --------------- field in this struct
[INFO] [stdout] 21 |     pub value: u32,
[INFO] [stdout] 22 |     pub destination: TaskHandle,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `service` is never read
[INFO] [stdout]  --> kernel/src/ipc/ipc_server.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub(crate) struct IpcServerConnection {
[INFO] [stdout]   |                   ------------------- field in this struct
[INFO] [stdout] 5 |     service: String,
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `receive` and `reply` are never used
[INFO] [stdout]   --> kernel/src/ipc/ipc_server.rs:16:18
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl  IpcServerConnection {
[INFO] [stdout]    | ------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 16 |    pub(crate) fn receive(&mut self, handle: &mut IpcServerHandle) -> Result<usize, ()> {
[INFO] [stdout]    |                  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |    pub(crate) fn reply(&mut self) -> Result<usize, ()> {
[INFO] [stdout]    |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `next_u64` and `next_range` are never used
[INFO] [stdout]   --> kernel/src/ipc/random_gen_server.rs:53:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl RandomGeneratorServer {
[INFO] [stdout]    | -------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 53 |     fn next_u64(&mut self) -> u64 {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     fn next_range(&mut self, min: u32, max: u32) -> u32 {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Timer` is never constructed
[INFO] [stdout]  --> kernel/src/scheduler/timer.rs:6:19
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub(crate) struct Timer {
[INFO] [stdout]   |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `add_sleep`, and `pop_expired` are never used
[INFO] [stdout]   --> kernel/src/scheduler/timer.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Timer {
[INFO] [stdout]    | ---------- associated items in this implementation
[INFO] [stdout] 11 |
[INFO] [stdout] 12 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |     pub fn add_sleep(&mut self, now: u64, sleep: Duration, future_handle: FutureHandle) {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub fn pop_expired(&mut self, now: u64) -> Option<Vec<FutureHandle>> {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]   --> kernel/src/kernel.rs:42:75
[INFO] [stdout]    |
[INFO] [stdout] 42 |         let scheduler_task = Task::new("[K] Main Thread", main_thread_run as usize, 0);
[INFO] [stdout]    |                                                                           ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(function_casts_as_integer)]` on by default
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]    |
[INFO] [stdout] 42 |         let scheduler_task = Task::new("[K] Main Thread", main_thread_run as *const () as usize, 0);
[INFO] [stdout]    |                                                                           ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]    --> kernel/src/task.rs:147:38
[INFO] [stdout]     |
[INFO] [stdout] 147 |         Task::new(name, task_wrapper as usize, job as usize)
[INFO] [stdout]     |                                      ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]     |
[INFO] [stdout] 147 |         Task::new(name, task_wrapper as *const () as usize, job as usize)
[INFO] [stdout]     |                                      ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]    --> kernel/src/task.rs:153:38
[INFO] [stdout]     |
[INFO] [stdout] 153 |     Task::new("[K] Idle", idle_entry as usize, cpu_ptr)
[INFO] [stdout]     |                                      ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]     |
[INFO] [stdout] 153 |     Task::new("[K] Idle", idle_entry as *const () as usize, cpu_ptr)
[INFO] [stdout]     |                                      ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]    --> kernel/src/task.rs:165:35
[INFO] [stdout]     |
[INFO] [stdout] 165 |     Task::new("EPT", task_wrapper as usize, entrypoint)
[INFO] [stdout]     |                                   ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]     |
[INFO] [stdout] 165 |     Task::new("EPT", task_wrapper as *const () as usize, entrypoint)
[INFO] [stdout]     |                                   ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]    --> kernel/src/task.rs:170:39
[INFO] [stdout]     |
[INFO] [stdout] 170 |     Task::new("ELF", elf_task_wrapper as usize, elf_ptr)
[INFO] [stdout]     |                                       ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]     |
[INFO] [stdout] 170 |     Task::new("ELF", elf_task_wrapper as *const () as usize, elf_ptr)
[INFO] [stdout]     |                                       ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0133`.
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "0a8e4c990b5550056d2b5dd6555523091c4defb8bdf5e88ea9f1d938c1e2cede", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0a8e4c990b5550056d2b5dd6555523091c4defb8bdf5e88ea9f1d938c1e2cede", kill_on_drop: false }`
[INFO] [stdout] 0a8e4c990b5550056d2b5dd6555523091c4defb8bdf5e88ea9f1d938c1e2cede
